home *** CD-ROM | disk | FTP | other *** search
- **************************************************************************
-
- M A G I C M E N U
-
- V 1 . 0 6
-
- **************************************************************************
-
-
-
-
-
- 1. WAS ISSN DAS SCHON WIEDER?
- *****************************
-
- Bei der Entwicklung von AmigaOS 2.0 haben die Entwickler das Erscheinungs-
- bild der Amiga-Oberfläche auf sehr beeindruckende Art und Weise überar-
- beitet.
-
- Nur leider haben sie die Intuition Menüs dabei vergessen(?)...
-
- Da ich dem tristen Menü-Altag entfliehen wollte und mich die diversen
- Programme, die es dafür so gibt, alle nicht so zufriedenstellen konnten,
- habe ich mich eben selbst an die Tastatur gesetzt...
-
- (ausserdem macht es vieeeel Spass den Amiga zu programmieren!)
-
-
- Folgende Features bietet Magic Menu
-
- o Pull-Down (wie bisher) und Pop-Up Menüs
-
- o 3D-Look für alle Menüs
-
- o Jedes Menü kann über die Tastatur bedient werden
-
- o Die Bedienung und das Erscheinungsbild von Pull-Down und Pop-Up Menüs
- kann getrennt eingestellt werden
-
- o Die Menüs sind voll Intuition-kompatibel, d.h. alle Programme die
- Intuition-Menüs verwenden, kommen in den Genuß der neuen Funktionen
-
- und und und....
-
-
-
-
- 2. UND WAS BRAUCH ICH JETZT DAZU?
- *********************************
-
-
- Es gibt nur eine einzige Voraussetzung für Magic Menu, nämlich daß der
- Rechner mit Amiga OS 2.04 (37.175) oder besser ausgestattet ist.
-
- (1.3 User müssen leider mit einem Requester vorlieb nehmen, der sie darauf
- aufmerksam macht, daß sie IMMER noch nicht up-to-date sind...)
-
-
-
-
-
- 3. INSTALLATION
- ***************
-
-
- Magic Menu besteht nur aus einem Programm. Die einfachste Installation
- erfolgt über die Workbench:
-
- Einfach das Icon "MagicMenu" in der Schublade WBStartup plazieren, und
- schon ersparst Du Dir den Anblick der alten, langweiligen Intuition Menüs.
-
-
- Die Konfiguration geschieht über die Workbench TOOL TYPES, es ist aber
- wesentlich einfacher, alles im Programm nach den eigenen Wünschen über das
- Dialogfenster einzustellen. Magic Menu erzeugt die entsprechenden TOOL
- TYPES automatisch wenn die Konfiguration abgespeichert wird. Eine
- Aufstellung der möglichen Einstellungen folgt etwas weiter unten, zusammen
- mit den dazugehörenden TOOL TYPES.
-
-
- Auch übers CLI läßt sich Magic Menu starten. Die Einstellungen werden auch
- dann aus der .info Datei von Magic Menu gelesen. Damit Magic Menu das CLI
- nicht blockiert, muß der Befehl RUN verwendet werden:
-
- RUN > NIL: < NIL: MagicMenu
-
-
-
-
- 4. KONFIGURATION oder UND WAS KANN DAS TEIL JETZT ALLES?
- ********************************************************
-
-
- Nach dem Start des Programms (Doppelklick) wird das Konfigurationsfenster
- von Magic Menu geöffnet (es sein denn, das Tool Type "CX_POPUP" steht auf
- "NO", dann muß "Exchange" von der Workbench bemüht, der Hotkey gedrückt,
- oder das Programm ein zweites mal gestartet werden).
-
-
- Alle Schalter haben eine Beschriftung. Einer der Buchstaben dieser
- Beschriftung ist jeweils unterstrichen, statt das Gadget mit der Maus zu
- betätigen, kann auch der unterstrichene Buchstabe gedrückt werden.
-
- In der Mitte sind drei Felder für Pull-Down Menüs, Pop Up Menüs und die
- Tastaturbedienung. Darunter einige Schalter, die sich auf das gesamte
- Programm auswirken.
-
-
- Pull down Menu:
- ---------------
-
- STANDARD, PRESSONCE und SELECT:
-
- Mit STANDARD ist die Menüsteuerung gemeint, wie sie auch von
- Intuition gehandhabt wird. Also, rechte Maustaste drücken, Menüpunkt
- auswählen und Maustaste wieder loslassen. Mit der linken Maustaste
- können mehrere Menüpunkte ausgewählt werden.
-
- PRESSONCE ist für die gedacht, die nicht ständig die Maustaste halten
- wollen. Einmal (kurz) auf die rechte Maustaste, und das Menü wird
- angezeigt. Jetzt den gewünschten Menüpunkt anwählen und erneut die
- rechte (oder auch die linke) Maustaste betätigen. Für Auswahl
- mehrerer Menüpunkte muss die Shift-Taste gedrückt werden.
-
- SELECT:
- Oft passiert es, daß man beim Bedienen der Menüs versehentlich über
- den falschen Menüpunkt fährt, und deswegen unbeabsichtigt Untermenüs
- geöffnet oder gewechselt werden. Es kann bei manchen Menüs direkt zu
- einem Geschicklichkeitsspiel werden, den richtigen Menüpunkt zu
- treffen. Um auch hier die Bedienung schnell und einfach zu
- ermöglichen, reagiert das Menü bei dieser Einstellung nicht auf
- Mausbewegungen, sondern man muß den gewünschten Menüpunkt mit der
- linken Maustaste anklicken. Gestartet wird das Menü wie bei
- PRESSONCE mit der rechten Maustaste. Klickt man mit der linken
- Maustaste auf einen Menüpunkt mit Unterpunkten, so werden diese
- angezeigt, ansonsten wird der Menüpunkt selektiert. Mit einem
- zweiten Druck auf die rechte Maustaste wird die Menüauswahl
- abgebrochen.
- Und mit der Shift-Taste werden auch hier wieder mehrere Menüpunkte
- ausgewählt.
-
- TOOL TYPE: PD_BUTTONMODE=STANDARD|PRESSONCE|SELECT
-
-
-
- 3D-LOOK und STANDARD-LOOK:
-
- Der 3D-LOOK ist die von mir an das Outfit angepasste Darstellung des
- Menüs, mit dem typischen 3D-Effekt und den erhabenen Symbolen für die
- Amigataste und den selektierten Menüpunkten. Voraussetzung für diese
- Darstellung ist, daß der jeweilige Screen mit den erweiterten
- Attributen von OS 2.04 geöffnet wurde und 4 oder mehr Farben
- dargestellt werden. Dazu siehe noch die Anmerkung unter Punkt 7.
-
- Wer lieber bei der gewohnten Darstellung bleiben möchte, aber nicht
- auf die funktionellen Vorteile von Magic Menu (wie die
- Tastatursteuerung oder das Pop-Up Menü) verzichten möchte, kann den
- STANDARD-LOOK anwählen.
-
- Mit der Control Taste kann auch während das Menü angezeigt wird,
- zwischen diesen beiden Anzeigearten umgeschaltet werden.
-
- TOOL TYPE: PD_LOOK=3D|2D
-
-
-
- Pop up Menu:
- ------------
-
- STANDARD, PRESSONCE und SELECT:
-
- Wie bei den Pull-down Menüs, nur eben diesmal für die Pop-Up Menüs...
-
- TOOL TYPE = PU_BUTTONMODE=STANDARD|PRESSONCE|SELECT
-
-
-
- 3D-LOOK und STANDARD-LOOK:
-
- Siehe ebenfalls bei den Pull-down Menüs.
-
- TOOL TYPE = PU_LOOK=3D|2D
-
-
-
- CENTER BOXES:
-
- Wenn diese Checkbox angewählt ist, werden die Pop-up Menüs bei der
- Darstellung vertikal um den Mauszeiger zentriert. Das ist in der
- Regel einfacher zu bedienen. Ist die Checkbox nicht angewählt, so
- werden die Menüboxen unterhalb der Überschrift angezeigt.
-
- Beispiel: -----------
- --------| Tabs |
- | Project| |
- | | Pathes |
- Center an | Edit | ----
- | -------| Colors | 10 |
- ||Options| --------| |
- | -------||Height | 12 |
- | Texts | --------| |
- --------| Width | 15 |
- | ----
- | Depth |
- -----------
-
- ---------
- | Project |
- | |
- Center aus | Edit |
- | ------- -----------
- ||Options| Tabs |
- | -------| |
- | Texts | Pathes |
- --------| |
- | Colors |
- | -------- ----
- ||Height | 10 |
- | --------| |
- | Width | 12 |
- | | |
- | Depth | 15 |
- --------- ----
-
- TOOL TYPE = PU_CENTER=YES|NO
-
-
-
- Keyboard Control:
- -----------------
-
- ENABLE:
-
- Wenn diese Checkbox angewählt ist, kann das Menü auch von der
- Tastatur bedient werden. Die Belegung der Tasten bei der
- Tastatursteuerung steht weiter unten in einem eigenen Punkt.
-
- TOOL TYPE = KC_ENABLE=YES|NO
-
-
-
- MOUSE TO BAR:
-
- Einige Programme (z.B. Directory Opus, Delux Paint) verwenden die
- rechte Maustaste für eigene Zwecke und lassen die Inutition-Menüs nur
- zu, wenn sich die Maus in der Titelleiste des Screens befindet.
- Magic Menü berücksichtigt natürlich dieses Verhalten. Damit man das
- Menü trotzdem ohne Verwendung der Maus von der Tastatur bedienen
- kann, bietet Magic Menu diese Option an, die dafür sorgt, daß die
- Maus automatisch immer in der Titelleiste bewegt wird, wenn das Menü
- über die Tastatur aktiviert wird.
-
- TOOL TYPE = KC_GOTOP=YES|NO
-
-
-
- START SEQUENCE:
-
- Die Tastenkombination, mit der das Menü gestartet werden soll, kann
- in diesem Textgadget eingegeben werden. Die möglichen Eingaben
- können im Amiga Handbuch bei der Beschreibung der Commodities
- nachgelesen werden.
-
- Beispiele:
-
- lcommand space Linke Amigataste und Space
- control backspace
- shift alt return
- ...
-
- TOOL TYPE = KC_KEY=<Tastensequenz>
-
-
-
- Die restlichen Schalter:
- ------------------------
-
- Über den breiten Schalter unter den drei Boxen können die drei
- Betriebsarten eingestellt werden:
-
- USE PULL DOWN MENU ONLY:
-
- Es wird immer nur das Pull-down Menü verwendet.
-
- TOOL TYPE = MENUTYPE=PULLDOWN
-
-
-
- USE POP UP MENU ONLY:
-
- Es wird nur das Pop-up Menü verwendet, ausser wenn das Menü über
- Tastatur aufgerufen wurde, dann wird generell das Pull-down Menü
- dargestellt.
-
- TOOL TYPE = MENUTYPE=POPUP
-
-
-
- USE PULL DOWN WHEN POINTER IN MENUBAR, POP UP OTHERWISE:
-
- Wenn beim Druck auf die rechte Maustaste der Mauszeiger in der
- Menüleiste ist, dann wird das Pull-Down Menü verwendet, sonst das
- Pop-Up Menü.
-
- TOOL TYPE = MENUTYPE=AUTO
-
-
-
- Und der Rest:
-
- MARK SUB MENUS:
-
- Wenn diese Option aktiv ist, werden Untermenüs wird am linken Rand
- eines Menüpunkts durch einen Pfeil markiert. Viele Programme, u.a.
- alle Programme, die die gadtools.library verwenden, benutzen eine
- eigene Markierung für Untermenüs. Wenn eine solche Markierung
- vorhanden ist (oder der Menütext zu lang ist), wird der Pfeil von
- Magic Menu unterdrückt.
-
- TOOL TYPE = MARKSUB=YES|NO
-
-
-
- DOUBLE BORDERS:
-
- Dieser Schalter ermöglicht eine andere Methode, die Menüboxen
- einzurahmen. Am besten ausprobieren, um den Unterschied zu sehen.
- Der Schalter hat allerdings nur im 3D-Look Wirkung.
-
- TOOL TYPE = DOUBLEBORDER=YES|NO
-
-
-
- MENU TIMEOUT:
-
- Ich habe grosse Anstrengungen unternommen um zu verhindern, daß
- sich Intuition und Magic Menu in die Quere kommen (siehe Punkt
- "Informationen für Programmierer".
- Trotzdem ist es denkbar, daß ein Deadlock entsteht, wenn z.B. ein
- Programm ein Fenster verschiebt, während gerade ein Menü aktiv ist.
- (Das Programm muß das Fenster schon selbst verschieben, der
- Anwender ist dazu nicht in der Lage, während das Menü offen ist!).
- Das ist aber höchst unwahrscheinlich. Aber für den Fall, daß es
- doch mal passiert, habe ich den Timeout eingebaut. Nach Ablauf der
- eingegebenen Zeit (zwischen 1 und 120 Sekunden) ohne daß sich was
- gerührt hat (Mausbewegung, Tastendruck etc.) wird das Menü
- abgebrochen, und der Rechner wieder freigegeben.
-
- TOOL TYPE = TIMEOUT=<Zeit in Sekunden>
-
-
-
- Die Gadgets am unteren Rand funktionieren wie bei den meisten Commodities:
-
- HIDE: (oder Close Gadget)
-
- Das Magic Menu Einstellungsfenster wird geschlossen, das Programm
- bleibt aber aktiv.
-
-
- SAVE:
-
- Die aktuellen Einstellungen werden in den TOOL TYPES des Magic Menu
- Icons abgespeichert.
-
-
- QUIT:
-
- Magic Menu wird aus dem Speicher entfernt.
-
-
- Ausserdem läßt sich Magic Menu wie jedes andere Commodity über das
- Programm Exchange von der Workbench bedienen.
-
-
-
- Zusätzliche TOOL TYPES:
- -----------------------
-
- Einige TOOL TYPES können nur über die Workbench verändert werden:
-
- CX_PRIORITY=<Pri>
-
- Die Priorität von Magic Menu in der Commodity-Handler Kette.
- Sollte in der Regel 0 sein.
-
-
- CX_POPUP=YES|NO
-
- Wenn YES angegeben wird, dann öffnet sich gleich nach dem
- Programmaufruf das Einstellungsfenster von Magic Menu.
-
-
- CX_POPKEY=<Tastensequenz>
-
- Hier wird der Hotkey zum Öffnen des Einstellungsfenster angegeben.
- Normalerweise ist das <control alt space>.
-
-
- Und wichtig für die Workbench ist noch:
-
- DONOTWAIT:
-
- MUSS vorhanden sein, wenn Magic Menu in der WBStartup Schublade
- liegt.
-
- TOOLPRI=<Priorität>:
-
- Definiert die Task Priorität mit der Magic Menu läuft. Damit die
- Menüausgabe nicht durch fleissige Programme ausgebremst wird,
- sollte die Priorität höher als 0 eingestellt werden. Optimal ist
- ein Wert von 5, diese Priorität verwendet auch Intuition selbst.
-
-
-
-
- 5. DIE TASTATURSTEUERUNG (Too much fingers on keyboard error)
- ************************
-
-
- Nach dem Drücken der Tastensequenz für das Öffnen des Menüs (siehe START
- SEQUENCE bei Punkt 4) werden in der Titelleiste die vorhandenen Menüpunkte
- angezeigt. Folgende Tasten können zur Steuerung des Menüs verwendet
- werden:
-
- ESC: Bricht die Menüauswahl ab.
-
- RETURN: Öffnet ein (Unter-)Menü oder wählt einen Menüpunkt an. Zusammen
- mit der Shift Taste können mehrere Menüpunkte angewählt werden.
- Der letzte Menüpunkt muß aber immer OHNE Shift gedrückt werden!
- Nicht mit ESC beenden, da sonst keine Meldung an das Programm
- geht.
-
- RECHTS,
- LINKS: Wählt einen Hauptmenüpunkt aus. Mit Shift zusammen kommt man
- ganz nach rechts bzw. links.
-
- RAUF,
- RUNTER: Wählt einen (Unter-)Menüpunkt aus. Mit Shift zusammen kommt man
- ganz nach oben bzw. unten.
-
- Eine Taste von A-Z:
- Der nächste (Unter-)Menüpunkt, der mit der gedrückten Taste
- beginnt, wird ausgewählt. Ist dieser Menüpunkt der einzige,
- der mit diesem Buchstaben anfängt, wird der Punkt automatisch
- aktiviert (je nach Punkt also das Untermenü geöffnet oder das
- Menü mit der Auswahl beendet).
-
-
-
-
- 6. PROBLEME UND BEKANNTE FEHLER
- *******************************
-
-
- Leider lassen sich einige Probleme nicht ganz vermeiden, damit niemand
- überrascht wird, hier eine Aufstellung über alle bekannten Schwierigkeiten:
-
- o Bei allen Fensteroperationen ausser OpenWindow() und
- OpenWindowTagList() kann es zu einem Deadlock kommen, wenn gerade das
- Menü aktiv ist. Dieser Deadlock wird aber durch den Timeout
- abgefangen.
-
- o Die 3D-Images für das Amigazeichen, die Selektmarkierung und den Pfeil
- für Untermenüs sind nur dann zu gebrauchen, wenn SHINEPEN, SHADOWPEN
- und FILLPEN auf die Standardwerte (wie in der Workbench) gesetzt sind.
- Ist das nicht der Fall (wie z.B. in Term, PageStream 2), werden
- automatisch die einfachen 1-Plane-Images verwendet. Wenns viele stört
- werde ich später vielleicht mal das ganze als BOOPSI Images
- realisieren.
-
- o Um die Menüs im OS 2.0-Look anzuzeigen, müssen Textfarbe und
- Hintergrundfarbe vertauscht werden. Ich habe versucht, daß so
- intelligent wie möglich zu machen. Trotzdem kann es passieren, daß in
- einigen Menüs die Farben falsch angezeigt werden, und Verwirrung
- entsteht. Z.B. wird bei Farbauswahlmenüs oft Farbe 0 als Farbe 1
- angezeigt (alle anderen Farben werden korrekt angezeigt).
- Wenn für ein Menü die Darstellung von Magic Menu absolut nicht
- verwendbar ist, kann die rechte Maustaste zusammen mit Ctrl, Alt, oder
- einer Amigataste gedrückt werden, dann wird wieder das original
- Intuition Menü verwendet.
- Auch während ein Menü angezeigt wird, kann mit der Ctrl Taste auf den
- Standard-Look umgeschaltet werden, der alle Farben korrekt wiedergibt.
-
-
-
-
- 7. INFORMATIONEN FÜR PROGRAMMIERER UND ANDERE PROFIS
- ****************************************************
-
-
- Ich habe versucht, Magic Menu so kompatibel wie möglich zu halten, d.h.
- daß das Verhalten von Intuition so gut wie möglich nachgebildet wird.
-
- Also:
-
- o Bei der Darstellung der Menüs wird der entsprechende Screen gelockt,
- die Erstellung der Menüs geschieht unsichtbar im Hintergrund und wird
- dann komplett in den Schirm kopiert.
-
- o Bevor Magic Menu ein Menü aufbaut, wird an alle Fenster, die
- IDCMP_MENUVERIFY gesetzt haben, eine entsprechende Nachricht gesendet.
- Das aktuelle Fenster kann die Menüauswahl über MENUCANCEL unterbinden.
-
- o An das aktive Fenster werden die selektierten Menüpunkte, verkettet
- über MenuItem->NextSelect, gemeldet. So lange nicht alle Messages
- beantwortet worden sind, läßt sich Magic Menu nicht beenden.
-
- o IDCMP_MENUHELP wird unterstützt. Getestet habe ich das mit Kai Iskes
- KCommodity, dem einzigen mir bekannten Programm, das dieses Feature
- nutzt.
-
- o Die Funktionen OpenWindow(), OpenWindowTagList(), ClearMenuStrip(),
- SetMenuStrip() und ResetMenuStrip() wurde gepatcht, so daß sie erst
- zur Ausführung kommen, wenn die Menüoperation abgeschlossen ist, um
- Deadlocks oder Abstürze zu vermeiden.
-
- o Programme wie z.B. Martin Berndts TagScreens sorgen dafür, daß alle
- Screens im neuen 3D-Look dargestellt werden. Auch Magic Menu
- verwendet dann bei solchermassen aufgebesserten Screens die
- 3D-Darstellung. Allerdings ist das Menü dann oft nicht mehr besonders
- gut bedienbar oder die Farben werden falsch angezeigt (siehe Punkt 6).
-
-
-
-
- 8. WAS BRINT DIE ZUKUNFT?
- *************************
-
-
- Folgende Features habe ich mir noch vorgestellt für spätere Versionen:
-
- o BOOPSI Images für die 3D-Darstellung
-
- o Lokalisierung. Wenn die WB 2.1 eine grössere Verbreitung gefunden
- hat... ;-)
-
- o und und und...
-
-
-
-
- 9. WER HAT WAS GEMACHT?
- ***********************
-
-
- Das Programm Magic Menu wurde geschrieben von
-
- Martin Korndörfer
- Pommernstr. 15
- wD-8912 Kaufering
-
- E-Mail Adressen: Internet: korndorf@informatik.tu-muenchen.de
- Z-Netz : M.KORNDOERFER@NATHAN.ZER oder
- SYSOP@NATHAN.ZER
-
- Telefon: 08191 / 6383
-
- Bitte teilt mir Bugs oder Programme, bei denen die Menüs nicht korrekt
- dargestellt werden, mit!
-
-
- Die Oberfläche wurde gestaltet mit Hilfe der
-
- GadToolsBox 1.4 von Jan van den Baard
-
- ... thanx for this wonderful program!!
-
-
- Magic Menu wurde entwickelt mit Hilfe des
-
- SAS/C 5.10b C-Compilers
-
-
- Die Anleitung wurde ins Englische übersetzt von
-
- Quinten Martens
-
-
- Vor dem Testen auf die Folter gespannt wurden
-
- Angelika Nadler
- Olaf Lange
- Thomas Starke
- Quinten Martens
- Markus Bartsch
- Martin Neuhauser
- Dirk Taggesell
- Garry Glendown
- Sönke Brandt
-
- ... und einige User der NATHAN
-
-
- Ausserdem danke ich
-
- Kai Iske ... für sein KCommodity, und vorallem der CRevision.
- Stefan Stuntz ... für sein MFR und die Idee für den Namen ... ;-)
- Garry Glendown ... für seine Tips zum SAS/C Compiler und das Patchen
- von Funktionen.
-
-
- Gewidmet sind die Magic Menus
-
- Angel
-
- ... you're simply magic!
-
-
-
- ***************************************************************************
- ***************************************************************************
-